package com.gqz.equip.vo;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gqz.common.core.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.SchemaProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/**
 * 新能源-物资-出入库工单设备详情vo
 */


@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "EnWzCrkOrderEquipExportVo")
public class EnWzCrkOrderEquipExportVo implements Serializable {


    @SchemaProperty(name = "主键")
    private String id;

    @SchemaProperty(name = "管理单位编码")
    private String gldwbm;

    @SchemaProperty(name = "管理单位名称")
    @Excel(name = "单位", width = 20)
    private String gldwmc;

    @SchemaProperty(name = "单据编码")
    @Excel(name = "单据编码", width = 20)
    private String djbm;

    @SchemaProperty(name = "设备编码")
    private String sbbm;

    @Excel(name = "设备名称", width = 25)
    @SchemaProperty(name = "设备名称")
    private String sbmc;

    @Excel(name = "出厂编号", width = 20)
    @SchemaProperty(name = "出厂编码")
    private String ccbm;

    @Excel(name = "设备类型", width = 20)
    @SchemaProperty(name = "设备类型名称")
    private String sblxmc;

    @Excel(name = "PT", width = 20)
    @SchemaProperty(name = "pt")
    private String pt;

    @Excel(name = "CT", width = 20)
    @SchemaProperty(name = "ct")
    private String ct;

    @SchemaProperty(name = "单据日期")
    @Excel(name = "出入库日期", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "djrq", format = "yyyy-MM-dd HH:mm:ss")
    private Date djrq;

    @SchemaProperty(name = "所属库房编码")
    private String sskfbm;

    @SchemaProperty(name = "所属库房名称")
    @Excel(name = "库房名称", width = 20)
    private String sskfmc;

    @Excel(name = "规格", width = 20)
    @SchemaProperty(name = "规格")
    private String sbgg;

    @Excel(name = "型号", width = 20)
    @SchemaProperty(name = "型号")
    private String xh;

    @SchemaProperty(name = "运行状态")
    @Excel(name = "运行状态", width = 20)
    private String yxztmc;


    @SchemaProperty(name = "是否删除 0否1是")
    private String sfsc;

    @SchemaProperty(name = "单据日期至")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "djrq_to", format = "yyyy-MM-dd HH:mm:ss")
    private Date djrq_to;

    @SchemaProperty(name = "类型 0入库 1出库")
    private String type;

    @SchemaProperty(name = "审核人")
    private String shr;

    @SchemaProperty(name = "出入库操作人")
    private String cjr;

    @SchemaProperty(name = "审核时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "shTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date shTime;

    @SchemaProperty(name = "所属单位编码")
    private String ssdwbm;

    @SchemaProperty(name = "所属能源站编码")
    private String ssnyzbm;

    @SchemaProperty(name = "所属能源站名称")
    private String ssnyzmc;

    @SchemaProperty(name = "物资类别编码")
    private String wzlbbm;

    @SchemaProperty(name = "设备类型编码")
    private String sblxbm;

    @SchemaProperty(name = "计量方式编码")
    private String jlfsbm;

    @SchemaProperty(name = "出厂日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(name = "ccrq", format = "yyyy-MM-dd")
    private Date ccrq;

    @SchemaProperty(name = "运行状态编码")
    private String yxzt;

    @SchemaProperty(name = "厂家名称")
    private String cjmc;

    @SchemaProperty(name = "创建时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "cjtime", format = "yyyy-MM-dd HH:mm:ss")
    private Date cjtime;

    @SchemaProperty(name = "设备照片")
    private String sbzp;

    @SchemaProperty(name = "设备状态编码")
    private String sbztbm;

    @SchemaProperty(name = "是否贴签 0否1是")
    private String sftq;

    @SchemaProperty(name = "物资类别名称")
    private String wzlbmc;

    @SchemaProperty(name = "计量方式名称")
    private String jlfsmc;

    @SchemaProperty(name = "设备状态名称")
    private String sbztmc;

    @SchemaProperty(name = "设备上一步状态编码")
    private String sbztOld;

    @SchemaProperty(name = "设备上一步状态名称")
    private String sbztOldmc;

    @SchemaProperty(name = "是否检测 0否1是")
    private String sfjc;

    /**
     * 二维码
     */
    @SchemaProperty(name = "二维码")
    private String ewm;

    @SchemaProperty(name = "投运日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "tyrq", format = "yyyy-MM-dd HH:mm:ss")
    private Date tyrq;

    @SchemaProperty(name = "设备地址")
    private String sbdz;

    @SchemaProperty(name = "设备坐标")
    private String sbzb;

}
